﻿#region File Header

/* File Name    : PostPrivacy.cs
 * Description  : The privacy options for a Facebook Post
 * Log
 * Date             Author              Description
 * 18-Oct-2011      Robin Jome          Created the class
 */

#endregion

#region Namespaces



#endregion

namespace FacebookAPI.FacebookProperties
{
    #region Class

    /// <summary>
    /// The privacy options for a Facebook Post
    /// </summary>
    /// <remarks>object containing the value field and optional friends, networks, allow and deny fields.
    /// The value field may specify one of the following strings: EVERYONE, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM .
    ///The friends field must be specified if value is set to CUSTOM and contain one of the following strings: EVERYONE, NETWORKS_FRIENDS (when the object can be seen by networks and friends), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF, or NO_FRIENDS (when the object can be seen by a network only).
    ///The networks field may contain a comma-separated list of network IDs that can see the object, or 1 for all of a user's network.
    ///The allow field must be specified when the friends value is set to SOME_FRIENDS and must specify a comma-separated list of user IDs and friend list IDs that 'can' see the post.
    ///The deny field may be specified if the friends field is set to SOME_FRIENDS and must specify a comma-separated list of user IDs and friend list IDs that 'cannot' see the post.
    ///Note: This privacy setting only applies to posts to the current or specified user's own Wall. Facebook ignores this setting for targeted Wall posts (when the user is writing on the Wall of a friend, Page, event, group connected to the user). Consistent with behavior on Facebook, all targeted posts are viewable by anyone who can see the target's Wall.
    ///Privacy Policy: Any non-default privacy setting must be intentionally chosen by the user</remarks>
    public class PostPrivacy
    {
        #region Properties

        public PostPrivacyValues Value { get; set; }

        public PostPrivacyCustomValues Friends { get; set; }

        public string Networks { get; set; }

        public string Allow { get; set; }

        public string Deny { get; set; }
        
        #endregion
    }

    #endregion
}
